CloudTrail イベントフィールドのセキュリティ上の重要性を理解する
AWS CloudTrail イベントフィールドは、API アクティビティ、ユーザー ID、リソースインタラクションに関する詳細な情報を提供し、セキュリティ調査中の正確な追跡と分析を可能にします。このセクションでは、重要な CloudTrail イベントフィールド、そのセキュリティ上の重要性、およびフォレンジック分析とインシデントレスポンスに推奨されるユースケースについて説明します。
セキュリティ調査のための主要な CloudTrail イベントフィールド
以下は、最も重要な CloudTrail イベントフィールドの詳細な内訳、セキュリティ調査におけるその重要性、およびインシデント対応時に効果的に活用する方法です。
AWS CloudTrail レコードの内容の完全な詳細(以下のような主要フィールドを含む)を確認するには、 eventName, eventSource、および requestParameters, 包括的なドキュメントをご確認ください。完全なログインサイトでセキュリティフォレンジックとインシデントレスポンスを強化します。
重要なイベントフィールド
-
1. userIdentity
- 説明: リクエストを行っている IAM アイデンティティに関する詳細情報(以下を含む)
type(例: IAMUser、AssumedRole、Root)、principalId,arn,accountId,userName、およびsessionContext. - セキュリティ上の重要性: インシデントの背後にいるアクターを特定し、侵害されたユーザー、ロール、またはルートアカウントが関与しているかどうかを判断できます。また、クロスアカウントアクセスのトレースもサポートします。
- ユースケース: 使用
userIdentity不正なアクターが盗まれた IAM 認証情報を使用したか、またはロールを引き受けて権限を昇格させたかどうかを特定するためです。もしtypeはRoot、root アカウントの侵害リスクが高いため、直ちにエスカレーションしてください。
- 説明: リクエストを行っている IAM アイデンティティに関する詳細情報(以下を含む)
-
2. userIdentity.accessKeyId
- 説明: リクエストで使用されたアクセスキーを識別します。
- セキュリティ上の重要性: 悪意のある攻撃者は盗んだアクセスキーを再利用することが多いため、複数のイベントにわたって侵害された認証情報を追跡します。
- ユースケース: 以下を使用して不審なアクティビティを関連付けます
accessKeyId侵害の範囲を特定します。空の場合(例:コンソールアクションの場合)、以下と相互参照してください。userIdentity.sessionContextセッションタイプを確認します。
-
3. userIdentity.userName
- 説明: IAM ユーザーの名前を指定します。
- セキュリティ上の重要性: 特に複数のアクセスキーがある場合に、ユーザー固有のアクティビティを追跡します。
- ユースケース: クロスリファレンス
userNameを使用userIdentity.principalId一貫したアイデンティティ追跡のために。
-
4. userIdentity.principalId
- 説明: リクエストを行うエンティティの一意の識別子を提供します。
- セキュリティ上の重要性: 特に一時的な認証情報において、セッション間でアクションを関連付けます。
- ユースケース: 引き受けたロールやセッション間での不正アクターの動きを追跡します。
principalId.
-
5. userIdentity.sessionContext
- 説明: 引き受けたロールまたはフェデレーテッドセッションの詳細(以下を含む)
sessionIssuerおよびsourceIdentity。 - セキュリティ上の重要性: クロスアカウントアクセスやロールチェーン攻撃を理解するために重要です。リクエストが一時的なセキュリティ認証情報を使用して行われた場合、sessionContext はそれらの認証情報に対して作成されたセッションに関する情報を提供します。一時的な認証情報を返す API を呼び 出すと、セッションが作成されます。また、ユーザーがコンソールで作業し、多要素認証を含む API でリクエストを行う場合にもセッションが作成されます。
- ユースケース: 分析
sessionContext.sourceIdentityロール引き受けシナリオにおける攻撃の起点を追跡します。
- 説明: 引き受けたロールまたはフェデレーテッドセッションの詳細(以下を含む)
-
6. userIdentity.type
- 説明: ID タイプを指定します(例:
IAMUser,Root,AssumedRole)。 - セキュリティの重要性: 次のような高リスクなアクションを識別します。
Root使用状況が即時エスカレーションを必要としています。 - ユースケース: フィルタリング対象
userIdentity.type特権 ID に関連する調査を優先するため。
- 説明: ID タイプを指定します(例:
-
7. userIdentity.arn
- 説明: プリンシパルの Amazon Resource Name を提供します。
- セキュリティ上の重要性: 複雑な環境におけるアクターの正確な識別を保証します。
- ユースケース: IAM エンティティへのアクションを追跡するために使用します。
arn.
-
8. userIdentity.accountId
- 説明: エンティティを所有する AWS アカウントを識別します。
- セキュリティ上の重要性: クロスアカウントシナリオにおいてソースアカウントを分離します。
- ユースケース: 以下とクロスリファレンスします
recipientAccountId不正アクセスを検出します。
-
9. userIdentity.sessionIssuer
- 説明: セッション認証情報を発行するエンティティ(例:ロール)を識別します。
- セキュリティ上の重要性: ロールベースの攻撃における一時的な認証情報のソースを追跡します。ユーザーが一時的なセキュリティ認証情報を使用してリクエストを行う場合、sessionIssuer はユーザーが認証情報を取得した方法に関する情報を提供します。例えば、ロールを引き受けることで一時的なセキュリティ認証情報を取得した場合、この要素は引き受けたロールに関する情報を提供します。ルートまたは IAM ユーザーの認証情報を使用して AWS STS GetFederationToken を呼び出すことで認証情報を取得した場合、この要素はルートアカウントまたは IAM ユーザーに関する情報を提供します。
- ユースケース: 分析
sessionIssuerinAssumedRole権限昇格分析のためのイベント。
-
10. userIdentity.invokedBy
- 説明: AWS サービス(例: Lambda)がリクエストを行ったかどうかを示します。
- セキュリティ上の重要性: サービスによって開始されたアクションとユーザーアクティビティを区別し、設定ミスや悪用されたロールを特定します。
- ユースケース: 調査
invokedByサービスの動作における異常を検出します。
-
11. eventTime
- 説明: アクティビティの UTC タイムスタンプを記録します。
- セキュリティ上の重要性: 攻撃のタイムラインを確立し、最初の侵害ポイントを特定して、システム間のイベントを関連付けます。
- ユースケース: 悪意のある行為者のアクションを順序付けし、不正アクセスの継続時間を特定します。通常とは異なる時間帯における API 呼び出しの急増は、悪意のあるアクティビティを示している可能性があります。
-
12. eventName
- 説明: AWS API アクション(例:
GetCallerIdentity,CreateAccessKey,DeleteBucket)。 - セキュリティ上の重要性: 偵察などの悪意のある攻撃者の手法を明らかにします (
ListUsers) または権限昇格 (CreateAccessKey)。 - ユースケース: 分析
eventNameIAM ポリシーの変更やログの無効化など、永続化や検出回避を意図した高リスクなアクションを特定します。
- 説明: AWS API アクション(例:
-
13. eventSource
- 説明: ターゲットとなる AWS サービスを識別します(例:
iam.amazonaws.com,s3.amazonaws.com)。 - セキュリティ上の重要性: 影響を受けるサービスを特定し、修復作業の優先順位付けを支援します。
- ユースケース: 調査
eventSourceのためにsts.amazonaws.comを使用eventNameAssumeRoleロールチェーン攻撃を検出するために使用します。侵害されたサービスに焦点を当てるようにログをフィルタリングします。
- 説明: ターゲットとなる AWS サービスを識別します(例:
-
14. sourceIPAddress
- 説明: リクエストの発信元 IP アドレスを示します。
- セキュリティ上の重要性: 攻撃の地理的な発信元と潜在的な脅威アクターを特定します。
- ユースケース: クロスリファレンス
sourceIPAddress脅威インテリジェンスフィードと組み合わせて不審な発信元を検出します。「AWS Internal/#」と表示される場合は、サービスロールや設定ミスを調査してください。
-
15. userAgent
- 説明: 使用されているアプリケーションまたはツールの詳細(例:
aws-cli,aws-sdk-java)。 - セキュリティ上の重要性: 悪意のある攻撃者が使用する不審なツールや非標準アプリケーションを特定します。
- ユースケース: 監視
userAgent異常を検出します。例えば、非 AWS SDK などは、通常の組織パターンから逸脱した悪意のあるツールを示している可能性があります。
- 説明: 使用されているアプリケーションまたはツールの詳細(例:
-
16. errorCode と errorMessage
- 説明: API 呼び出しが失敗したかどうか、およびその理由を示します(例:
AccessDenied)。 - セキュリティ上の重要性: 失敗した攻撃の試みと権限の境界を明らかにし、悪意のある行為者の範囲に関する洞察を提供します。
- ユースケース: 複数
AccessDeniedのエラーCreateAccessKey権限テストを示している可能性があります。これらのフィールドを使用してセキュリティコントロールを改善してください。
- 説明: API 呼び出しが失敗したかどうか、およびその理由を示します(例:
-
17. requestParameters
- 説明: リソース名や設定など、API 呼び出しとともに送信されたパラメータが含まれます。変更を加えるアクション(作成、更新、または削除アクション)のレスポンス要素(存在する場合)。読み取り専用 API の場合、このフィールドは null です。アクションがレスポンス要素を返さない場合、このフィールドは null です。アクションのレスポンス要素は、該当する AWS サービスの API リファレンスドキュメントに記載されています。
- セキュリティ上の重要性: API 呼び出しの具体的な入力と、悪意のある行為者のアクションによって送信された設定の詳細を明らかにします。
- ユースケース: 分析
requestParametersの中にCreateBucket修復のためのバケット名を特定するための呼び出し。
-
18. responseElements
- 説明: 新しく作成されたアクセスキーやリソース ARN など、API 呼び出しの出力が含まれます。変更を加えるアクション(作成、更新、または削除アクション)に対するレスポンス要素(存在する場合)です。読み取り専用 API の場合、このフィールドは
nullアクションがレスポンス要素を返さない場合、このフィールドはnull. アクションのレスポンス要素は、該当する AWS サービスの API リファレンスドキュメントに記載されています。 - セキュリティ上の重要性: 新しく作成されたリソース、アクセスキー、その他のアーティファクトなど、重要な情報が含まれています。
- ユースケース: 使用
responseElementsの中にCreateAccessKey新しいキーを無効化し、不正な変更を元に戻すイベント。
- 説明: 新しく作成されたアクセスキーやリソース ARN など、API 呼び出しの出力が含まれます。変更を加えるアクション(作成、更新、または削除アクション)に対するレスポンス要素(存在する場合)です。読み取り専用 API の場合、このフィールドは
-
19. resources
- 説明: ARN やリソースタイプを含む、アクセスまたは変更された AWS リソースを一覧表示します。
- セキュリティ上の重要性: 修復のために S3 バケットや IAM ロールなどの影響を受けるアセットを特定します。
- ユースケース: 使用
resourcesでDeleteObject影響を受けた S3 オブジェクトを特定し、復旧の優先順位を付けるためのイベント。
-
20. eventType
- 説明: イベントを分類します(例:
AwsApiCall,AwsConsoleSignIn)。 - セキュリティ上の重要性: API ベースの攻撃、コンソールログイン、またはサービスによって開始されたアクションを区別します。
- ユースケース: フィルター
AwsConsoleSignIn不正なコンソールアクセスを検出し、MFA を確認するためのイベント。
- 説明: イベントを分類します(例:
-
21. recipientAccountId
- 説明: リクエストを受信する AWS アカウントを識別します。
- セキュリティ上の重要性: マルチアカウント組織におけるクロスアカウントアクティビティを追跡します。
- ユースケース: 以下を調査します。
recipientAccountId異なりますuserIdentity.accountId不正なクロスアカウントアクセスに対して。
-
22. awsRegion
- 説明: リクエストの AWS リージョンを指定します。
- セキュリティ上の重要性: 地理的なパターンとインシデントの範囲を確立します。
- ユースケース: ログをフィルタリングします。
awsRegion未使用のリージョンで異常を特定します。
-
23. readOnly
- 説明: API 呼 び出しが読み取り専用であったかどうかを示します (
true) または書き込み (false)。 - セキュリティ上の重要性: 偵察アクションと変更アクションを区別します。
- ユースケース: データ改ざんや永続化の可能性がある書き込み操作に焦点を当てます。
- 説明: API 呼 び出しが読み取り専用であったかどうかを示します (
-
24. eventID
- 説明: 各 CloudTrail イベントを一意に識別します。
- セキュリティ上の重要性: 特定のイベントを参照し、SIEM ツールなどの外部システムと関連付けることができます。
- ユースケース: 使用
eventIDログの集約と追跡のプライマリキーとして使用します。
-
25. serviceEventDetails
- 説明: IAM Identity Center フェデレーションイベントなど、サービス固有のコンテキストを提供します。
- セキュリティ上の重要性: 専門的なサービスの詳細により、調査を強化します。
- ユースケース: 分析
serviceEventDetailsフェデレーションユーザーのアクションを監査するための IAM Identity Center イベントに使用します。
AWS CloudTrail ログの userIdentity 要素を理解するための包括的なガイドとして、そのフィールド(例: type, userName, arn)、詳細なドキュメントをご覧ください。効果的なセキュリティフォレンジックとインシデントレスポンスのためのインサイトを活用してください。
セキュリティ調査における CloudTrail の効果を最大化するために、AWS Organization 内のすべてのリージョンおよびアカウントで CloudTrail を有効にしてください。アクセスが制限された S3 バケットにログを安全に保存し、改ざんを検出するためにログファイルの整合性検証を有効にしてください。Amazon Athena や CloudTrail Lake などのツールを使用してこれらのフィールドを定期的に分析し、異常を特定してインシデントに迅速に対応してください。
侵害された AWS アクセスキーの分析ワークフロー例
- アクターを特定する: 使用
userIdentityfields (type,userName,arn,accountId,principalId) を使用して、関与するアイデンティティを特定します。必要に応じてエスカレートしてください。Rootが検出されます。 - タイムラインの確立: 使用
eventTimeイベントを順序付けし、攻撃の継続時間を特定します。 - アクションを分析する: レビュー
eventName,eventSource、およびreadOnly悪意のある行為者の手法と影響を受けるサービスを把握します。 - リソースを追跡する: 使用
resources,requestParameters、およびresponseElements修復対象または変更されたアセットを特定します。 - アクセスの調査: クロスリファレンス
sourceIPAddress,userAgent,recipientAccountId、およびsessionContext不正アクセスやロールチェーンを検出します。 - エラーのレビュー: 分析
errorCodeおよびerrorMessageIAM ポリシーによってブロックされた試行済みアクションを特定します。 - イベントの相関付け: 使用
eventIDおよびserviceEventDetailsSIEM ツールと統合し、詳細なフォレンジック分析を実行します。